<?php
/**
 * 学生迭代器-利用 实现 SPL 接口实现
 * 2019年12月28日11:59:27
 */
namespace Application\Common\Iterator;

class StudentIterator implements \Iterator
{
    // 所有学生
    protected $students;
    // 迭代器指针
    protected $index = 0;
    // 获取当前
    public function current()
    {
        return $this -> students[$this -> index];
    }
    // 指针移动到下一个
    public function next()
    {
        $this -> index ++;
    }
    // 是否还有下一个元素
    public function valid()
    {
        return $this -> index < count($this -> students);
    }
    // 重置
    public function rewind()
    {
        $this -> index = 0;
    }
    // 获取位置|索引
    public function key()
    {
        return $this -> index;
    }
    // == 额外的方法 ==
    // 增加数据
    public function add($param)
    {
        $this -> students[] = $param;
    }
}
